<?php
error_reporting(E_ALL);
session_start();
require('engine/tools.php');

// OSChina的免费环境
if(getenv('OSC_ENV')) {
    $dbc = array(
        'host' => '10.4.26.93',
        'user' => 'uuE7obhq9PHux',
        'pwd' => 'pmRZOKM5UKXBQ',
        'port' => '3306',
        'name' => 'df29b17a71fee4dd6b1bc6d3b2515efaa',
        'prefix' => '',
    );
} else {
    $dbc = array(
        'host' => '127.0.0.1',
        'user' => 'root',
        'pwd' => '1111',
        'port' => '3306',
        'name' => 'lightblog',
        'prefix' => '',
    );
}

// 配置数据库
$config = array(
    'db' => $dbc,
    'view' => array(
        'path' => "view",
    ),
);

function exception_error(\Exception $e) {
    $err = sprintf('%s', (string)$e);
    echo nl2br($err);
    exit(1);
}

// 自动加载函数
// TODO: 这里缺少错误捕获, 以后加上
function lightblog_autoload($classname) {
    // 为了方便, 最核心的lightblog可以作为"根命名空间"单独处理
    // 其他的类就享受不到这样的待遇
    if ($classname == 'lightblog') {
        require_once('engine/lightblog.class.php');
        return true;
    }

    $filename = str_replace('\\', '/', $classname) . ".class.php";
    $filename = str_replace('lightblog', '.', $filename);

    try {
        if (!file_exists($filename)) {
            throw new \Exception("文件($filename)不存在!");
        }
        require_once($filename);
    } catch (Exception $e) {
        exception_error($e);
    }
}

// 注册自动加载函数, 无法自动加载就抛出异常
spl_autoload_register('lightblog_autoload', true);
?>
